<%@ page contentType="text/html;charset=UTF-8"%>
<script>
$(document).ready(function() {
	$('#yjQrcodesTable').bootstrapTable({
		 
		  //请求方法
               method: 'get',
               //类型json
               dataType: "json",
               //显示刷新按钮
               showRefresh: true,
               //显示切换手机试图按钮
               showToggle: true,
               //显示 内容列下拉框
    	       showColumns: true,
    	       //显示到处按钮
    	       showExport: true,
    	       //显示切换分页按钮
    	       showPaginationSwitch: true,
    	       //最低显示2行
    	       minimumCountColumns: 2,
               //是否显示行间隔色
               striped: true,
               //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）     
               cache: false,    
               //是否显示分页（*）  
               pagination: true,   
                //排序方式 
               sortOrder: "asc",  
               //初始化加载第一页，默认第一页
               pageNumber:1,   
               //每页的记录行数（*）   
               pageSize: 10,  
               //可供选择的每页的行数（*）    
               pageList: [10, 25, 50, 100],
               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
               url: "${ctx}/web/yjQrcodes/data",
               //默认值为 'limit',传给服务端的参数为：limit, offset, search, sort, order Else
               //queryParamsType:'',   
               ////查询参数,每次调用是会带上这个参数，可自定义                         
               queryParams : function(params) {
               	var searchParam = $("#searchForm").serializeJSON();
               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
                   return searchParam;
               },
               //分页方式：client客户端分页，server服务端分页（*）
               sidePagination: "server",
               // contextMenuTrigger:"right",//pc端 按右键弹出菜单
               // contextMenuTriggerMobile:"press",//手机端 弹出菜单，click：单击， press：长按。
               // contextMenu: '#context-menu',
               onContextMenuItem: function(row, $el){
                   if($el.data("item") == "edit"){
                   	window.location = "${ctx}/web/yjQrcodes/form?id=" + row.id;
                   } else if($el.data("item") == "delete"){
                        jp.confirm('确认要删除该二维码记录吗？', function(){
                       	jp.loading();
                       	jp.get("${ctx}/web/yjQrcodes/delete?id="+row.id, function(data){
                   	  		if(data.success){
                   	  			$('#yjQrcodesTable').bootstrapTable('refresh');
                   	  			jp.success(data.msg);
                   	  		}else{
                   	  			jp.error(data.msg);
                   	  		}
                   	  	})
                   	   
                   	});
                      
                   } 
               },
              
               onClickRow: function(row, $el){
               },
		       onLoadSuccess: function() {
				   // 点击图片放大
				   zoomInImage();
			   },
               columns: [{
		         checkbox: true
		       }


			, {
		        field: 'category',
		        title: '类型',
		        sortable: true
			    ,formatter:function(value, row, index) {
				   return jp.getDictLabel(${fns:toJson(fns:getDictList('qrcodes_type'))}, value, "-");
			    }
			}, {
			   field: 'qrCodeFilePath',
			   title: '二维码',
			   sortable: true,
			   formatter:function(value, row , index){
			   		var img = "";

			   		if (row.qrCodeFilePath) {
						img = "<div class='logoImg amplifyImg'><img src='" + row.qrCodeFilePath + "' style='width:100px;cursor:pointer;' /></div>";
					}

			   		return img;
				}
		   	}, {
			   field: 'mahjongHallRoom.name',
			   title: '棋牌室房间',
			   sortable: true
			}, {
			   field: 'mahjongHall.name',
			   title: '棋牌室名称',
			   sortable: true
		    }, {
			   field: 'used',
			   title: '是否使用',
			   sortable: true
			   ,formatter:function(value, row , index){
				   return value === 0 ? "未使用" : "已使用";
			   }
		    }, {
			   field: 'createDate',
			   title: '创建时间',
			   sortable: true
			   ,formatter:function(value, row , index){
				   return "<a href='${ctx}/web/yjQrcodes/form?id="+row.id+"'>"+value+"</a>";
			   }
		   	},{
			   field: 'remarks',
			   title: '备注信息',
			   sortable: true

		   }]
		
		});
		
		  
	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端

		 
		  $('#yjQrcodesTable').bootstrapTable("toggleView");
		}
	  
	  $('#yjQrcodesTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
                'check-all.bs.table uncheck-all.bs.table', function () {
            $('#remove').prop('disabled', ! $('#yjQrcodesTable').bootstrapTable('getSelections').length);
            $('#edit').prop('disabled', $('#yjQrcodesTable').bootstrapTable('getSelections').length!=1);
		  	$('#download').prop('disabled', ! $('#yjQrcodesTable').bootstrapTable('getSelections').length);
        });
		  
		$("#btnImport").click(function(){
			jp.open({
			    type: 1, 
			    area: [500, 300],
			    title:"导入数据",
			    content:$("#importBox").html() ,
			    btn: ['下载模板','确定', '关闭'],
				    btn1: function(index, layero){
					  window.location='${ctx}/web/yjQrcodes/import/template';
				  },
			    btn2: function(index, layero){
				        var inputForm =top.$("#importForm");
				        var top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe 
				        inputForm.attr("target",top_iframe);//表单提交成功后，从服务器返回的url在当前tab中展示
				        inputForm.onsubmit = function(){
				        	jp.loading('  正在导入，请稍等...');
				        }
				        inputForm.submit();
					    jp.close(index);
				  },
				 
				  btn3: function(index){ 
					  jp.close(index);
	    	       }
			}); 
		});
		    
	  $("#search").click("click", function() {// 绑定查询按扭
		  $('#yjQrcodesTable').bootstrapTable('refresh');
		});
	 
	 $("#reset").click("click", function() {// 绑定查询按扭
		$("#searchForm  input").val("");
		$("#searchForm  select").val("");
		$("#searchForm  .select-item").html("");
		$('#yjQrcodesTable').bootstrapTable('refresh');
	});

	// 点击图片放大
	//zoomInImage();
  });
		
  function getIdSelections() {
        return $.map($("#yjQrcodesTable").bootstrapTable('getSelections'), function (row) {
            return row.id
        });
    }
  
  function deleteAll(){

		jp.confirm('确认要删除该二维码记录吗？', function(){
			jp.loading();  	
			jp.get("${ctx}/web/yjQrcodes/deleteAll?ids=" + getIdSelections(), function(data){
         	  		if(data.success){
         	  			$('#yjQrcodesTable').bootstrapTable('refresh');
         	  			jp.success(data.msg);
         	  		}else{
         	  			jp.error(data.msg);
         	  		}
         	  	})
          	   
		})
  }

  // 批量生成二维码
  function batchCreateQrcode() {
	  jp.loading();
	  jp.post("${ctx}/web/yjQrcodes/batchCreateQrcode", {}, function(data) {
		  if(data.success){
			  $('#yjQrcodesTable').bootstrapTable('refresh');
			  jp.success(data.msg);
		  } else {
			  jp.error(data.msg);
		  }
	  });

  }

  function createNoImageQrCodes() {
	  jp.loading();
	  jp.post("${ctx}/web/yjQrcodes/createNoImageQrCodes", {}, function(data) {
		  if(data.success){
			  $('#yjQrcodesTable').bootstrapTable('refresh');
			  jp.success(data.msg);
		  } else {
			  jp.error(data.msg);
		  }
	  });
  }

  function edit(){
	  window.location = "${ctx}/web/yjQrcodes/form?id=" + getIdSelections();
  }

  function download(){
	  // jp.get("${ctx}/web/yjQrcodes/downloadQrcode?id=" + getIdSelections(), function(data){
		//   if(data.success){
		//     //jp.success(data.msg);
		//     downloadURI(data.body.filePath, data.body.fileName);
		//   }else{
		//     jp.error(data.msg);
		//   }
	  // });

	  // jp.loading();
	  // jp.post("${ctx}/web/yjQrcodes/download?ids=" + getIdSelections(), {}, function(data) {
		//   if(data.success){
		// 	  $('#yjQrcodesTable').bootstrapTable('refresh');
		// 	  jp.success(data.msg);
		//   } else {
		// 	  jp.error(data.msg);
		//   }
	  // });

	  // 如果要传选中行的id,则从页面获取到所有id,可以拿逗号拼接,放到输入框传给后台
	  // 如果需要把选中行整行数据传到后台,form表单不支持传json格式数据,所以可以把
	  // 选中行数据放入数组,转为json放入输入框,后台用String接收,然后再转回Obj
	  var $dataForm = $(
		  "<form type='hidden' method='post'>" +
		  "<input type='hidden' id='ids' name='ids' value='" + getIdSelections() + "' type='text'/>" +
		  "</form>"
	  );

	  $dataForm.attr("action", '${ctx}/web/yjQrcodes/download');
	  $(document.body).append($dataForm);
	  //提交表单，实现下载
	  $dataForm.submit();
  }

  function downloadURI(uri, name) {
	var link = document.createElement("a");
	// If you don't know the name or want to use
	// the webserver default set name = ''
	link.setAttribute('download', name);
	link.href = uri;
	document.body.appendChild(link);
	link.click();
	link.remove();
  }

  // 放大图片
  function zoomInImage() {
	  var imgsObj = $('.amplifyImg img');//需要放大的图像
	  $.each(imgsObj,function(){
		  $(this).click(function(){
			  var currImg = $(this);
			  console.log("123");
			  coverLayer(1);
			  var tempContainer = $('<div class=tempContainer></div>');//图片容器
			  with(tempContainer){//width方法等同于$(this)
				  appendTo("body");
				  var windowWidth=$(window).width();
				  var windowHeight=$(window).height();
				  //获取图片原始宽度、高度
				  var orignImg = new Image();
				  orignImg.src =currImg.attr("src") ;
				  var currImgWidth= orignImg.width;
				  var currImgHeight = orignImg.height;
				  if(currImgWidth<windowWidth){//为了让图片不失真，当图片宽度较小的时候，保留原图
					  if(currImgHeight<windowHeight){
						  var topHeight=(windowHeight-currImgHeight)/2;
						  if(topHeight>35){/*此处为了使图片高度上居中显示在整个手机屏幕中：因为在android,ios的微信中会有一个title导航，35为title导航的高度*/
							  topHeight=topHeight-35;
							  css('top',topHeight);
						  }else{
							  css('top',0);
						  }
						  html('<img border=0 src=' + currImg.attr('src') + '>');
					  }else{
						  css('top',0);
						  html('<img border=0 src=' + currImg.attr('src') + ' height='+windowHeight+'>');
					  }
				  }else{
					  var currImgChangeHeight=(currImgHeight*windowWidth)/currImgWidth;
					  if(currImgChangeHeight<windowHeight){
						  var topHeight=(windowHeight-currImgChangeHeight)/2;
						  if(topHeight>35){
							  topHeight=topHeight-35;
							  css('top',topHeight);
						  }else{
							  css('top',0);
						  }
						  html('<img border=0 src=' + currImg.attr('src') + ' width='+windowWidth+';>');
					  }else{
						  css('top',0);
						  html('<img border=0 src=' + currImg.attr('src') + ' width='+windowWidth+'; height='+windowHeight+'>');
					  }
				  }
			  }
			  tempContainer.click(function(){
				  $(this).remove();
				  coverLayer(0);
			  });
		  });
	  });
  }

  //使用禁用蒙层效果
  function coverLayer(tag){
  	with($('.over')){
	 if(tag==1){
	 	css('height',$(document).height());
		css('display','block');
		css('opacity',1);
		css("background-color","#FFFFFF");
		css("background-color","rgba(0,0,0,0.7)" );  //蒙层透明度
	  } else{
	 	css('display','none');
	  }
  	}
  }

</script>